//
//  StatusPicturesView.swift
//  weibo
//
//  Created by 陈勇 on 16/3/2.
//  Copyright © 2016年 chenyong. All rights reserved.
//

import UIKit

/// 微博配图视图
class StatusPicturesView: UIView {
    
    /// 配图视图数组
    var pic_urls: [StatusPictures]? {
        didSet {
            //隐藏所有的图像视图
            for v in subviews{
            
                v.hidden = true
            
            }
            
            //遍历数组，依次是在图像
            var index = 0
            for url in (pic_urls ?? []) {
                
                //根据遍历的 `索引` 获取到图像视图
                let iv = subviews[index++] as! UIImageView
                
                //设置图像
                iv.cz_setImageWithURL(url.thumbnail_pic, placeholderName: nil)
                
                iv.hidden = false
                
                if index == 2 && pic_urls?.count == 4 {
                
                    index++
                
                }
                
            }
        }
}
    //更新图像尺寸
    func updateImageSize(size: CGSize) {
    
        let iv = subviews[0]
        
        //如果单张图像，需要把第0 UII妈个 View大小调整
        if pic_urls?.count == 1{
        
            iv.frame = CGRect(origin: CGPointZero, size: size)
            
            return
        }
        //如果不是单张图像，恢复第0 UIImageView 的大小 
        iv.frame = CGRect(origin: CGPointZero, size: CZStatusCellLayout.pictureSize)
    }

    // MARK: - 构造函数
    override init(frame: CGRect) {
        
        super.init(frame: frame)
        
        setupUI()
        
    }

    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
}

// MARK: - 设置界面
extension StatusPicturesView{

    private func setupUI(){
        //设置背景颜色
        //backgroundColor = superview?.backgroundColor
        backgroundColor = UIColor.yellowColor()
        // 超出视图范围的内容，全部裁切掉
        // 在用 storyboard 开发的时候，默认是 true，但是，使用 代码开发，默认是 false
        clipsToBounds = true
        //刷新9个图像视图
        //每张图新的bounds
        let rect = CGRect(origin: CGPointZero, size: CZStatusCellLayout.pictureSize)
        //移动步长
        let step = CZStatusCellLayout.pictureSize.width + CZStatusCellLayout.picturesMargin
        
        for i in 0..<9{
        
            let iv = UIImageView()
            
           // iv.backgroundColor = UIColor.redColor()
            // 设置内容填充模式 .ScaleAspectFit 在九宫格能够产生犬牙交错的效果
            iv.contentMode = .ScaleAspectFill
            iv.clipsToBounds = true
            
            
            
            
            //设置视图的位置
            let row = CGFloat(i / Int(CZStatusCellLayout.picturesPerRow))
            //‘模’数
            let col = CGFloat(i % Int(CZStatusCellLayout.picturesPerRow))
            //设置位置
            iv.frame = CGRectOffset(rect, col * step, row * step)
        
            addSubview(iv)
        }
    }
}





